package com.pox.guli.service.ucenter.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.pox.guli.service.base.dto.MemberDto;
import com.pox.guli.service.ucenter.entity.Member;
import com.pox.guli.service.ucenter.entity.vo.LoginVo;
import com.pox.guli.service.ucenter.entity.vo.RegisterVo;

/**
 * <p>
 * 会员表 服务类
 * </p>
 *
 * @author pox21s
 * @since 2022-06-05
 */
public interface MemberService extends IService<Member> {

    /**
     * 会员表单注册
     * @param registerVo 表单封装类
     */
    void register(RegisterVo registerVo);

    /**
     * 用户登录
     * @param loginVo 封装登录对象
     * @return java.lang.String
     */
    String login(LoginVo loginVo);

    /**
     * 根据openid返回用户信息
     * @param openid 用户id
     * @return com.pox.guli.service.ucenter.entity.Member
     */
    Member getByOpenid(String openid);

    /**
     * 用户订单获取会员信息
     * @param memberId 用户信息
     * @return com.pox.guli.service.base.dto.MemberDto
     */
    MemberDto getMemberDtoByMemberId(String memberId);

    /**
     * 用户注册统计
     * @param day 天数
     * @return java.lang.Integer
     */
    Integer countRegisterNum(String day);
}
